class Solution:
    def maxSubArray(self, nums: List[int]) -> int:
        index=0
        maxneg=-2147483647
        maxsum=0
        length=len(nums)
        while index<length and nums[index]<=0:
            if nums[index]>maxneg:
                maxneg=nums[index]
            index+=1
        if index==length:
            return maxneg
        temp=0
        while index<length:
            if nums[index]>=0:
                temp+=nums[index]
            else:
                if temp>maxsum:
                    maxsum=temp
                if temp+nums[index]<0:
                    temp=0
                else:
                    temp+=nums[index]
            index+=1
        if temp>maxsum:
            return temp
        return maxsum

'''
行用时：
44 ms
, 在所有 Python3 提交中击败了
84.54%
的用户
内存消耗：
15.2 MB
, 在所有 Python3 提交中击败了
5.06%
的用户
'''